Node.js Publish a Package

जानें कि अपने Node.js पैकेज को npm रजिस्ट्री में कैसे प्रकाशित करें

What Does it Mean to Publish a Package?

पैकेज प्रकाशित करने का अर्थ है अपने Node.js मॉड्यूल या प्रोजेक्ट को npm रजिस्ट्री के माध्यम से स्थापित करने और उपयोग करने के लिए दूसरों के लिए उपलब्ध कराना।

ओपन सोर्स लाइब्रेरी और टूल इस तरह से Node.js समुदाय के साथ साझा किए जाते हैं।

जब आप कोई संग्रह प्रकाशित करते हैं, तो वहnpm install your-package-nameउपयोगकर्ता किसी के भी द्वारा इंस्टॉल करने योग्य हो जाता है।

⚠️नोट:

सुनिश्चित करें कि आपका पैकेज मूल्य प्रदान करता है और एनपीएम में मौजूदा पैकेज का डुप्लिकेट नहीं है।

व्यक्तिगत उपयोग

आंतरिक परियोजनाओं के लिए पैकेज

सार्वजनिक विज्ञप्ति

सार्वभौमिक उपयोग के लिए पैकेज

सिस्टम रिलीज

सिस्टम के अंदर संकुल को ऊपर उठाना

Preparing Your Package

1. पैकेज प्रारंभ करें

एक नई निर्देशिका बनाएं और अपना संग्रह प्रारंभ करें:

mkdir my-package
cd my-package
npm init -y

2. आवश्यक फ़ाइलें

एक पैकेज में ये महत्वपूर्ण फ़ाइलें होनी चाहिए:

package.json

आपके संग्रह के बारे में मेटाडेटा

README.md

दस्तावेज़ (मार्कडाउन का समर्थन करता है)

index.js

महत्वपूर्ण प्रवेश बिंदु (या package.json में निर्दिष्ट करें)

LICENSE

उपयोग के मानक (एमआईटी, आईएससी, आदि)

.gitignore

नोड_मॉड्यूल, लॉग आदि को बाहर करें

.npmignore

प्रकाशित पैकेज से फ़ाइलें बाहर निकालें (वैकल्पिक)

3. Package.json Essentials

सुनिश्चित करें कि आपके package.json में ये न्यूनतम फ़ील्ड शामिल हैं:

{
  "name": "your-package-name",
  "version": "1.0.0",
  "description": "A brief description of your package",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": ["keyword1", "keyword2"],
  "author": "Your Name ",
  "license": "MIT"
}

💡सहायता नोट:

आपके पैकेज का नाम अद्वितीय और वर्णनात्मक होना चाहिए. कीवर्ड दूसरों को आपका संग्रह ढूंढने में सहायता करते हैं।

Creating an npm Account

1. रजिस्टर करें

यदि आपके पास कोई खाता नहीं है तो npmjs.com/signup पर एक खाता बनाएं।

2. अपना ईमेल जांचें

कृपया प्रकाशन से पहले अपना ईमेल जांचें और अपना खाता सत्यापित करें।

3. सीएलआई पथ के रूप में लॉगिन करें

अपना टर्मिनल खोलें और चलाएँ:

npm login

आपसे पूछा जाएगा:

  • उपयोगकर्ता नाम
  • पासवर्ड
  • ईमेल (आपके एनपीएम खाते से मेल खाना चाहिए)
  • वन-वे पासवर्ड (यदि 2FA सक्षम है)

4. लॉगिन स्थिति जांचें

npm whoami

Publishing Your Package

1. नाम उपलब्धता की जाँच करें

npm view <package-name>

यदि उस नाम वाला कोई पैकेज पहले से मौजूद नहीं है, तो आप उस नाम का उपयोग कर सकते हैं।

यदि ऐसा है, तो आपको अपने package.json में एक अलग नाम चुनना चाहिए।

2. स्थानीय स्तर पर पैकेज का परीक्षण करें

प्रकाशन से पहले, अपने पैकेज का स्थानीय स्तर पर परीक्षण करें:

# In your package directory
npm link

# In another project directory
npm link <package-name>

3. एनपीएम रजिस्ट्री पर प्रकाशित करें

# First, make sure you're in the right directory
cd path/to/your/package

# Publish to the public npm registry
npm publish

4. विशिष्ट टैग के साथ प्रकाशित करें

npm publish --tag beta

5. सार्वजनिक पैकेज प्रकाशित करें

npm publish --access public

🚀सफल प्रक्षेपण के लिए युक्तियाँ:

  • प्रकाशन से पहले अपने पैकेज का अच्छी तरह से परीक्षण कर लें
  • एक स्पष्ट README.md फ़ाइल जोड़ें
  • सुनिश्चित करें कि आपके पैकेज का नाम अद्वितीय है
  • सुनिश्चित करें कि आप अपने एनपीएम खाते में लॉग इन हैं

Updating Your Package

1. संस्करण संख्या अद्यतन करें

अपने पैकेज संस्करण को अद्यतन करने के लिए सिमेंटिक संस्करण प्रबंधन (सेमवीर) का उपयोग करें:

पैच रिलीज़ के लिए (बग फिक्स)

npm version patch

छोटी रिलीज़ के लिए (पिछली संगत सुविधाएँ)

npm version minor

क्रिटिकल रिलीज़ के लिए (ब्रेकिंग परिवर्तन)

npm version major

2. परिवर्तन लॉग अद्यतन करें

इस संस्करण में परिवर्तनों का दस्तावेजीकरण करने के लिए अपने CHANGELOG.md को अपडेट करें।

3. अद्यतन जारी करें

npm publish

4. आउटपुट को चिह्नित करें (वैकल्पिक)

यदि आप Git का उपयोग कर रहे हैं, तो रिलीज़ के लिए एक टैग बनाएं:

git tag -a v1.0.0 -m "Initial release"
git push origin v1.0.0

Managing Published Packages

किसी पैकेज को अप्रकाशित करना

एनपीएम रजिस्ट्री से एक पैकेज हटाने के लिए:

# Unpublish a specific version
npm unpublish <package-name>@<version>

# Unpublish the entire package (only works within 72 hours of publishing)
npm unpublish <package-name> --force

नोट:

रिलीज़ न करने को दृढ़ता से हतोत्साहित किया जाता है क्योंकि यह आपके पैकेज पर निर्भर अन्य कार्यक्रमों को तोड़ देगा। इसके बजायnpm deprecateउपयोग करने पर विचार करें

पैकेज छोड़ना

यदि आप उपयोगकर्ताओं को किसी संस्करण को इंस्टॉल करने से रोकना चाहते हैं लेकिन इसे मौजूदा उपयोगकर्ताओं के लिए उपलब्ध कराना चाहते हैं:

# Deprecate a specific version
npm deprecate <package-name>@<version> "message"

# Example
npx deprecate my-package@1.0.0 "This version is no longer maintained. Please upgrade to v2.0.0"

स्वामित्व मे परिवर्तन

किसी पैकेज को किसी अन्य उपयोगकर्ता या सिस्टम पर स्थानांतरित करने के लिए:

npm owner add <username> <package-name>

🚫महत्वपूर्ण:

एनपीएम समुदाय में पैकेज प्रकाशित न करना बुरा व्यवहार माना जाता है। यदि आप अपना संग्रह बनाए नहीं रख सकते, तो इसे छोड़ देना ही सबसे अच्छा है।

Best Practices

सिमेंटिक संस्करण प्रबंधन बाद में लागू करें - MAJOR.MINOR.PATCH संस्करण संख्याओं का उपयुक्त उपयोग करें
अच्छे दस्तावेज़ लिखें - अपने README में स्पष्ट उपयोग के उदाहरण जोड़ें
परीक्षण जोड़ें - यूनिट परीक्षण जोड़ें और दस्तावेज़ बनाएं कि उन्हें कैसे चलाया जाए
.npmignore का उपयोग करें - केवल आवश्यक फ़ाइलें प्रकाशित करें
कीवर्ड जोड़ें - दूसरों को अपना संग्रह ढूंढने में सहायता करें
सही लाइसेंस चुनें - उपयोगकर्ताओं को अपनी शर्तें स्पष्ट करें
परिवर्तन लॉग बनाए रखें - संस्करणों के बीच दस्तावेज़ परिवर्तन
सतत एकीकरण का उपयोग करें - परीक्षण और रिलीज़ को स्वचालित करें

Summary

एनपीएम पर पैकेज प्रकाशित करना अपने कोड को Node.js समुदाय के साथ साझा करने का एक शानदार तरीका है।

यदि आप सर्वोत्तम प्रथाओं का पालन करते हुए अपने पैकेजों को अच्छी तरह से बनाए रखते हैं, तो आप मूल्यवान टूल का योगदान कर सकते हैं जिनका उपयोग अन्य लोग कर सकते हैं।

शेयरिंग

अपने समाधान दुनिया के साथ साझा करें

समाज

Node.js

औजार

ऐसे उपकरण बनाएं जिनका उपयोग अन्य लोग कर सकें

सीखना

अन्य लोगों के कोड से सीखें

💎याद करना:

महान शक्तियों के साथ बहुत सारी जिम्मेदारियाँ लाती हैं। जब आप कोई पैकेज जारी करते हैं, तो आप उसे बनाए रखने या उपयोगकर्ताओं को उसकी स्थिति के बारे में स्पष्ट रूप से बताने की प्रतिबद्धता जताते हैं।

Exercise

पैकेज को npm पर प्रकाशित करने के लिए सही कमांड चुनें।

npm deploy
✗ ग़लत! "एनपीएम परिनियोजन" एनपीएम में एक वैध कमांड नहीं है
npm release
✗ ग़लत! "एनपीएम रिलीज" एनपीएम में वैध कमांड नहीं है
npm publish
✓ ठीक है! "एनपीएम पब्लिश" एनपीएम रजिस्ट्री में पैकेज प्रकाशित करने के लिए उपयोग किया जाने वाला सही कमांड है
npm push
✗ ग़लत! "एनपीएम पुश" एनपीएम में वैध कमांड नहीं है

निम्नलिखित में से कौन सा कमांड पैकेज में पैच संस्करण को अपडेट करेगा?

npm update patch
✗ ग़लत! "एनपीएम अपडेट पैच" एक वैध कमांड नहीं है
npm version patch
✓ ठीक है! पैकेज में पैच संस्करण को अद्यतन करने के लिए "एनपीएम संस्करण पैच" सही कमांड है
npm patch
✗ ग़लत! "एनपीएम पैच" एनपीएम में मान्य कमांड नहीं है
npm bump patch
✗ ग़लत! "एनपीएम बम्प पैच" एनपीएम में मान्य कमांड नहीं है